package com.kl.modular.system.service.api;


import com.baomidou.mybatisplus.plugins.Page;
import com.kl.modular.base.service.api.IBaseService;
import com.kl.modular.system.dao.model.SystemDic;
import com.kl.modular.system.service.bo.SystemDicBo;

import java.util.List;
import java.util.Map;

/**
 * 数据字典service业务接口
 * @author xr_zjb
 * @date 2017-08-07 15:58
 * @(C) xinrui Copyright 
 */
public interface ISystemDicService extends IBaseService<SystemDic>{

    /**
     * 模糊查询数据字典(字典类型，名称模糊，值)
     * @param page 分页数据
     * @param systemDicBo 数据对象BO类
     * @return
     */
    Page<SystemDic> selectPageBySystemDicBo(Page<SystemDic> page, SystemDicBo systemDicBo) throws Exception;

    /**
     * 分页查询
     * @param dicBo
     * @return
     */
    Page<SystemDic> selectPageByBo(Page<SystemDic> dicPage, SystemDicBo dicBo) throws Exception;

    /**
     * 设置Page对象中的DicType对象
     * @param dicPageData 要设置的Page对象
     * @throws Exception
     */
    void setPageDicType(Page<SystemDic> dicPageData) throws Exception;

    /**
     * 字典列表查询
     * @param dicType 字典类别
     * @return
     */
    List<SystemDic> selectListByDicType(String dicType);

    /**
     * 字典map查询
     * @param dicType
     * @return
     */
    Map<String, SystemDic> selectMapByDicType(String dicType);

    /**
     * 查找系统字典数据
     * @param dicTypeCode
     * @param dicValue
     * @return
     */
    SystemDic findSystemDic(String dicTypeCode, String dicValue);

}